package cn.lumora.core.security.password;

import org.mindrot.jbcrypt.BCrypt;

/**
 * 密码工具类，提供安全的密码哈希处理
 */
public class PasswordUtil {
    
    /**
     * 对密码进行哈希处理
     * 
     * @param plainPassword 明文密码
     * @return 哈希后的密码
     */
    public static String hashPassword(String plainPassword) {
        // 使用BCrypt算法进行密码哈希，自动生成盐值
        return BCrypt.hashpw(plainPassword, BCrypt.gensalt());
    }
    
    /**
     * 验证密码是否匹配
     * 
     * @param plainPassword 明文密码
     * @param hashedPassword 已哈希的密码
     * @return 密码是否匹配
     */
    public static boolean checkPassword(String plainPassword, String hashedPassword) {
        // 验证明文密码与哈希后的密码是否匹配
        return BCrypt.checkpw(plainPassword, hashedPassword);
    }
}
